package com.naiterui.ehp.bs.doctor.utils.message;

import com.naiterui.ehp.bp.constants.CommonConstant;

/**
 * 常量配置文件
 * 该文件中只用于配置不会产生变化的常量文件
 * 以免在代码中出现魔数
 * 可变的参数配置不可以写入本文件
 * <P>File name : Constants.java </P>
 * <P>Author : zhouyanxin </P>
 * <P>Date : 2015年6月20日 </P>
 */
public interface Constants {

    /************ 医生、患者通用前缀 ************/

    /**
     * 医生端通用前缀：<code>PREFIX_DR</code>
     */
    String PREFIX_DR = "dr_";
    /**
     * 患者端通用前缀：<code>PREFIX_PT</code>
     */
    String PREFIX_PT = "pt_";

    /************ 消息类型 ************/

    /**
     * 文本消息
     */
    int MESSAGE_TYPE_TEXT = 1;

    /**
     * 图片消息
     */
    int MESSAGE_TYPE_MEDIA_IMG = 2;

    /**
     * 音频消息
     */
    int MESSAGE_TYPE_MEDIA_AUDIO = 4;

    /**
     * 视频消息
     */
    int MESSAGE_TYPE_MEDIA_VIDEO = 8;

    /**
     * 药方消息
     */
    int MESSAGE_TYPE_DRUG = 16;

    /**
     * 用药助手推荐用药
     */
    int MESSAGE_TYPE_ASSISENT_DRUG = 32;

    /**
     * 咨询购药
     */
    int MESSAGE_TYPE_REQUIRE = 64;

    /**
     * 在线视频消息
     */
    int MESSAGE_TYPE_VIDEO = 128;

    /**
     * 视频小结消息
     */
    int MESSAGE_TYPE_VIDEO_SUMMARY = 256;

    int MESSAGE_TYPE_EDU = 2048;

    /********** 通知类消息分类 **********/

    /**
     * 客户端连接状态通知
     */
    int EVENT_CAT_CONNECTION = 0;

    /**
     * 服务器消息通知
     */
    int EVENT_CAT_NOTICE = 1;

    /************ 连接类型 ************/

    /**
     * 连接建立
     */
    int CONNECT_ESTABLISHED = 0;

    /**
     * 用户退出登录关闭连接
     * 此情况下不会发送PUSH消息
     */
    int CONNECT_LOGOUT = 1;

    /**
     * 正常关闭连接
     */
    int CONNECT_DISCONNECT = 2;

    /**
     * 意外断开连接
     */
    int CONNECT_SUDDENLY = 3;

    /************ 事件类型 ************/

    /************ 消息来源 ************/

    /**
     * 消息来源 -- 患者端
     */
    int MESSAGE_RESOURCE_PATIENT = 0;

    /**
     * 消息来源 -- 医生端
     */
    int MESSAGE_RESOURCE_DOCTOR = 1;

    /************ 微信参数 ************/

    /**
     * 调用微信接口发送消息参数类型 -- 文本消息
     */
    int MESSAGE_WEIXIN_SEND_TYPE_TEXT = 1;

    /**
     * 调用微信接口发送消息参数类型 -- 图片消息
     */
    int MESSAGE_WEIXIN_SEND_TYPE_IMAGE = 2;

    /**
     * 调用微信接口发送消息参数类型 -- 音频消息
     */
    int MESSAGE_WEIXIN_SEND_TYPE_RADIO = 3;

    /**
     * 调用微信接口发送消息参数类型 -- 用药助手消息
     */
    int MESSAGE_WEIXIN_SEND_TYPE_DRUG_ASSIANT = 4;

    /**
     * 调用微信接口发送消息参数类型 -- 用药消息
     */
    int MESSAGE_WEIXIN_SEND_TYPE_DRUG = 5;

    /************ 缓存前缀 ************/


    /**
     * 医生账户状态key：<code>DOCTOR_STATUS_KEY</code>
     */
    String DOCTOR_STATUS_KEY = "status";


    /************ PUSH推送用户类型，d:医生，p:患者 ************/

    /**
     * PUSH推送用户类型，d:医生：<code>PUSH_USER_TYPE_DOCTOR</code>
     */
    String PUSH_USER_TYPE_DOCTOR = "d";

    /**
     * PUSH推送用户类型，p:患者：<code>PUSH_USER_TYPE_PATIENT</code>
     */
    String PUSH_USER_TYPE_PATIENT = "p";

    /**
     * 自动审核配置
     */
    String CACHE_DRUG_SETTINGS = "drug_settings";
    /** 积分隐藏医生名单 */
    String REDIS_KEY_POINT_HIDDEN = CommonConstant.REDIS_PRE_DR + "point_hidden_dr_set";
}
